package pso.base;

import problema.Solucao;



public class Particula extends Solucao{

	private double[] melhorPosicaoParticula;
	private double[] melhorPosicaoGlobalVizualizada;

	private double bestFitness;

	private double[] velocidade;

	public Particula(double[] posicao, double[]	velocidade){
		this.setVariaveis(posicao);
		this.velocidade = velocidade;

		this.melhorPosicaoParticula = posicao;
		this.bestFitness = Double.MAX_VALUE;
	}

	public double[] getPosicao() {
		return getVariaveis();
	}

	public void setPosicao(double[] posicao) {
		this.setVariaveis(posicao);
	}

	public double[] getMelhorPosicaoParticula() {
		return melhorPosicaoParticula;
	}

	public void setMelhorPosicaoParticula(double[] melhorPosicaoParticula) {
		this.melhorPosicaoParticula = melhorPosicaoParticula.clone();
	}

	public double[] getMelhorPosicaoGlobalVizualizada() {
		return melhorPosicaoGlobalVizualizada;
	}

	public void setMelhorPosicaoGlobalVizualizada(
			double[] melhorPosicaoGlobalVizualizada) {
		this.melhorPosicaoGlobalVizualizada = melhorPosicaoGlobalVizualizada.clone();
	}

	public double getFitness() {
		return super.getFitness();
	}

	public void setFitness(double fitness) {
		super.setFitness(fitness);
	}

	public double getBestFitness() {
		return bestFitness;
	}

	public void setBestFitness(double bestFitness) {
		this.bestFitness = bestFitness;
	}

	public double[] getVelocidade() {
		return velocidade;
	}

	public void setVelocidade(double[] velocidade) {
		this.velocidade = velocidade;
	}
}
